Distributed systems include a plurality of computing devices connected by a network. In some cases, the computing devices may be operable to process requests from clients to perform computing tasks. The computing devices may also be configured to cooperate with one another in order to process large computing tasks.